1. Field of the Invention
The present invention relates to a compressed code decoding device used in AV (audio visual) equipment for decoding and reproducing compressed video signals and audio signals in synchronization with each other. The present invention also relates to an audio signal decoding device for decoding encoded audio data in multiple channels based on a standard such as MPEG 2 so as to obtain a decoded audio signal.
2. Description of the Related Art
In the field of video and audio equipment, CD players and VTRs have become widespread in recent years, and thus there is an increasing demand for large screen display and reproduction of realistic images and sounds for enjoying musics and films at home. In an attempt to satisfy such a demand, media containing video and audio signals have been developed such as DVDs. Meanwhile, methods for compressing signals to be stored on such media have been developed in order to store a large amount of video and audio signals on a single medium. For example, known methods for compressing audio signals include MPEG Audio and Dolby.RTM. AC-3.
In order to obtain such compressed codes, an audio signal is divided into "blocks" each of a certain length of time, and the signal is compressed by blocks. Then, a certain number of the blocks are grouped together to form another unit called a "frame". Each frame is provided with additional data for distinguishing the frame from others in the decoding process. The decoding device typically performs a decoding process by frames.
Moreover, a number of frames are grouped together to form a "packet". Each packet contains time data for each of the frames in the packet indicating when to reproduce the decoded signal of the first block in the frame. The decoding device externally outputs a decoded signal, obtained by decoding a compressed signal of the block, in accordance with the time data. The time data is used mainly for reproducing video and audio signals in synchronization with each other.
Hereinafter, a conventional device for decoding compressed codes will be described with reference to the accompanying figures. FIG. 44 is a block diagram illustrating an exemplary configuration of a conventional device for decoding compressed codes.
In FIG. 44, a decoding circuit 402 receives and decodes compressed audio codes which are input by frames via an input terminal 401. An output buffer 403 temporarily stores the decoded audio signals. An output circuit 404 externally outputs the audio signals stored in the output buffer 403.
In such a configuration, compressed codes are first input by frames to the input terminal 401. The codes are input by frames because frames are made distinguishable from one another as described above. The codes contained in a frame is decoded by the decoding circuit 402 using a decoding method in conformity with the used compression method so as to form an audio signal. The audio signal is temporarily stored in the output buffer 403. When decoding of one frame is completed, the audio signals are externally output via the output circuit 404. At this point of time, the next frame of codes is input to the input terminal 401, decoded by the decoding circuit 402, and then written in the output buffer 403. Such a process is repeated for decoding the compressed codes.
However, the conventional device does not reproduce the audio signals in synchronization with other signals such as video signals and timer signals which serve as reference time for reproduction, but merely outputs the audio signals at a separate timing. There is also a problem that a storage capacity as large as one frame is required for the output buffer.
Moreover, in order to perform calculations for decoding coded signals, a memory capable of high-speed access is needed as a memory for temporarily storing coded signals to be calculated. Such type of memory is expensive, and there has been a strong demand for reducing the required storage capacity for the memory.
The necessity for such a high-speed access memory will be described in detail in connection with MPEG2, for example.
In accordance with the MPEG audio algorithm, the coding device divides an audio signal before band compression into 32 bands of sub-band signals by using a sub-band analysis filter bank. The division into the sub-band signals is performed by, for example, a 512-tap polyphase filter (PFB), in the following steps (1)-(3):
(1) perform the following calculation for 512 samples of input signal, X0 . . . X511: EQU Zi=Ci.times.Xi (1);
(2) calculate periodic addition signals Yi based on the following expression (2): ##EQU1##
(3) calculate sub-band samples Si based on the following expression (3): ##EQU2##
The sub-band samples Si are referred to as sub-band signals.
Moreover, at the decoding device, each time 32 sub-band samples are inverse-quantized for each channel, the 32 audio samples Si are processed by the synthesis filter bank in the following steps based on the following expressions (4)-(7):
(4) calculate Vi by frequency-shifting the 32 sub-band samples Si based on the following expression (4): ##EQU3##
(5) obtain the series Ui of 512 samples by switching the order of Vi base on the following expression (5): EQU U64i+j=V128i+j U64i+32+j=V128i+96+j (5);
(6) calculate Wi by multiplying the series Ui of the samples by the impulse response based on the following expression (6): EQU Wi=Ui.times.Di (6); and
(7) obtain output signals Sj by periodic addition as in the following expression (7): ##EQU4##
In the above calculation process, the data Vi and Ui are referred to as sub-band synthesis filter data while the output signal Sj is referred to as PCM data.
The decoding process based on the expressions (4)-(7) is performed by a conventional decoding device 500 as illustrated in FIG. 45.
The decoding device 500 includes a memory section 510 and an operation section 520. The operation section 520 includes a sub-band signal generation section 521 and a sub-band synthesis section 522, and decodes n channels of input coded signals into respective sub-band signals and performs sub-band synthesis filter operation for the sub-band signals for each channel so as to generate and output audio signals. The memory section 510 is formed of a high-speed access memory such as an SRAM and includes memory areas 511 to 514 for storing the sub-band synthesis filter data and a memory area 515 for storing the sub-band signals.
The decoding device having such a configuration operates as follows. When the coded signals are first input to the operation section 520, the sub-band signal generation section 521 decodes the coded signals into sub-band signals and temporarily stores the sub-band signals in the memory area 515. Then, the sub-band synthesis section 522 reads the sub-band signals from the memory area 515 and performs sub-band synthesis filter operation for the sub-band signals, so as to generate and output audio signals.
The sub-band synthesis filter data in the memory areas 511 to 514 is partially updated by the sub-band synthesis filter data generated from the sub-band signals in the memory area 515. Accordingly, the operation section 520 needs to read the sub-band synthesis filter data from the memory section 510 when performing the sub-band synthesis filter operation and write again the sub-band synthesis filter data to the memory section 510 after the operation.
The memory section 510 needs to be a memory capable of high-speed access. In the case where the decoding device 500 corresponds to multiple channels, e.g., four channels, the memory section 510 needs to have four memory areas 511 to 514 so as to store sub-band synthesis filter data for the four channels.
A high-speed access memory such as an SRAM used for the memory section 510 needs to have a sufficiently large memory capacity to retain the sub-band synthesis filter data for at least four channels, for example, in order to perform real-time reproduction of four-channel data. Such a memory, which is generally expensive, significantly increases the cost of the audio decoding devices.